package emun

// 定义一个 map 来存储 UserEWalletType 及其对应的名称
var UserEWalletTypeMap = map[int]string{
	1: "UPAY",
	2: "KBZPay",
	3: "ROCKET",
	4: "BKASH",
	5: "Surecash",
}

// GetUserEWalletNameByType 通过 UserEWalletType 枚举获取对应的电子钱包类型名称
func GetUserEWalletNameByType(eWalletType int) string {
	if name, ok := UserEWalletTypeMap[eWalletType]; ok {
		return name
	}
	return "未知电子钱包类型"
}

// 定义一个 map 来存储 UserUsdtWalletType 及其对应的名称
var UserUsdtWalletTypeMap = map[int]string{
	1:  "TRC20",
	2:  "ERC20",
	3:  "BTC",
	4:  "ETH",
	5:  "TRX",
	6:  "XRP",
	7:  "BNB",
	8:  "AVAX",
	9:  "MATIC",
	10: "ETH_One",
	11: "BEP20",
	12: "USDT_C_Chain",
	13: "USDT_Polygon",
	14: "USDT_Onen",
	15: "USDC_ERC20",
	16: "USDC_TRC20",
	17: "USDC_BEP20",
	18: "USDC_C",
	19: "USDC_Polygon",
	20: "USDC_One",
	21: "SOL_Solana",
	22: "USDT_Solana",
}

// GetUserUsdtWalletNameByType 通过 UserUsdtWalletType 枚举获取对应的钱包类型名称
func GetUserUsdtWalletNameByType(walletType int) string {
	if name, ok := UserUsdtWalletTypeMap[walletType]; ok {
		return name
	}
	return "未知钱包类型"
}

// 定义一个 map 来存储 UserPixWalletType 及其对应的名称
var UserPixWalletTypeMap = map[int]string{
	1: "CPF",
	2: "EMAIL",
	3: "PHONE",
	4: "CNPJ",
}

// GetUserPixWalletNameByType 通过 UserPixWalletType 枚举获取对应的钱包类型名称
func GetUserPixWalletNameByType(walletType int) string {
	if name, ok := UserPixWalletTypeMap[walletType]; ok {
		return name
	}
	return "未知 Pix 钱包类型"
}

// 定义一个 map 来存储各种支付渠道及其对应的名称
var PaymentChannelMap = map[int]string{
	1: "BKASH",
	2: "ROCKET",
	3: "UPAY",
	4: "NAGAD",
	5: "KSZPay",
	6: "WavePay",
	7: "Surecash",
	8: "UPI",
}

// GetPaymentChannelNameByType 通过支付渠道枚举获取对应的名称
func GetPaymentChannelNameByType(channelType int) string {
	if name, ok := PaymentChannelMap[channelType]; ok {
		return name
	}
	return "未知支付渠道"
}

// 定义一个 map 来存储各种支付渠道及其对应的名称
var RechargeSmsStatusMap = map[int]string{
	1: "匹配成功",
	2: "匹配超时",
	3: "匹配失败",
	4: "等待匹配",
}

// GetPaymentChannelNameByType 通过支付渠道枚举获取对应的名称
func GetRechargeSmsStatusNameByType(channelType int) string {
	if name, ok := RechargeSmsStatusMap[channelType]; ok {
		return name
	}
	return "未知状态"
}
